PHP stream_set_read_buffer() 函数设置给定流上的读取文件缓冲。它相当于 stream_set_write_buffer(),但用于读取操作。
语法
stream_set_read_buffer(stream, size)
参数
stream | 必填。 指定文件指针。 |
size | 必填。 指定要缓冲的字节数。如果 size 为 0,则读取操作不会被缓冲。这可以确保在允许其他进程从该输入流读取数据之前完成使用 fread() 的所有读取。 |
返回值
成功时返回 0,失败时返回其他值。
示例:
下面的示例展示了如何使用stream_set_read_buffer()函数创建无缓冲流。
<?php
$file = "test.txt";
$message = "Hello World!";
$fp = fopen($file, "w");
fwrite($fp, $message);
fclose($fp);
$fp = fopen($file, "r");
if ($fp) {
if (stream_set_read_buffer($fp, 0) !== 0) {
echo "Changing the buffering failed \n";
}
//读取文件内容
$content = fread($fp, filesize("test.txt"));
//显示读取的内容
echo $content;
//关闭文件
fclose($fp);
}
?>
上述代码的输出将是:
Hello World!